// 封装添加管理员请求路由

const express = require("express")

// 创建一个路由
const route = express.Router()

//引入正则中间件
const addAdminReg = require("../middleware/addAdminReg")

// 引入token校验中间件
const isLoginMiddle = require("../middleware/isLoginMiddle")

// 引入md5模块
var md5 = require('md5');

//引入数据库集合对象
const adminModel = require("../db/model/adminModel")

//设置添加管理员的路由(添加正则校验中间件)
route.post("/addAdmin", isLoginMiddle, addAdminReg, async (req, res) => {
    const {
        adminName,
        password,
        regTime,
    } = req.body

    // console.log(adminName, password, regTime);


    try {
        //拿着用户名去数据库的adminModel集合中查询是否存在,findOne如果查询不到返回null
        const findResult = await adminModel.findOne({
            adminName
        })
        // console.log(findResult);

        //如果查询到了,则直接响应该用户名已经注册
        if (findResult) {
            return res.send({
                code: 10001,
                msg: "该用户名已存在",
                data: null,
            })
        }

        //如果没有查询到,则向数据库添加该数据 
        await adminModel.create({
            adminName,
            password: md5(password + "18069277360"),
            regTime,
        })
        res.send({
            code: 10000,
            msg: "添加成功",
            data: null,
        })


        
    } catch (e) {
        // console.log("添加异常，" + e.message);
        res.send({
            code: 10002,
            msg: "添加异常，服务端错误",
            data: null,
        })
    }

})

//




//暴露管理员接口
module.exports = route